Parse, don’t validate
https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/
validationは戻り値がない
バリデーションルールと、そのルールが満たされた状態を型で表現できない
これが
Shotgun parsing
という
アンチパターン
が生まれる元になる
parseは戻り値がある
内部的にはvalidation + 入力のデータ構造を整形する
ルールが満たされた状態を型で表現できる
再利用性
がある
これを
ドメインモデル
の実装に落とし込むパターンが
Always Valid Model